
	
		function proviceSel(eleId,url){//封装联动菜单，传入父divBox的id确定联动菜单的位置，传入URL确定PHP的相对路径，默认当前目录

			if (eleId =='') {//没有传入id，抛出错误；

				alert('id error,plase input divBox id,Then,the select while in there');

				throw Error('no box id ');
			}

			//在父div下创建所有的下拉选择框select

			var div 		= document.getElementById(eleId);

			var provice 	= document.createElement('select');

			var city 		= document.createElement('select');

			var county 		= document.createElement('select');

			var town 		= document.createElement('select');

			var village 	= document.createElement('select');

			var option		= document.createElement('option');

			//为创建的元素赋值

			provice.id 		= 'provice';
			
			city.id 		= 'city';
			
			county.id 		= 'county';
			
			town.id 		= 'town';
			
			village.id 		= 'village';

			//创建默认的option选项——请选择省份

			option.innerHTML= '请选择省份'
			

			provice.name 	= 'provice';

			city.name 		= 'city';
			
			county.name 	= 'county';
			
			town.name 		= 'town';
			
			village.name 	= 'village';

			//所有元素加入父div
			div.appendChild(provice);
			
			div.appendChild(city);
			
			div.appendChild(county);
			
			div.appendChild(town);
			
			div.appendChild(village);

			provice.appendChild(option);


			

			// var URI = 'php/ajaxSel.php';//url参数处理，传入了值，则取值，无，则默认值

			var URI = '/index.php/Home/Address/provice.html';

			if (url != undefined ) {

				URI = url;
			};


			//第一次ajax请求 获得所有省份
			$.ajax({
			 url: URI,
			 type:"POST",
			 async:true,
			 data:{provice:1},
			 dataType:"json",
			 success: function(data){


			    $.each(data, function(idx, provice){//遍历数据，创建省份option并加入对应的select下

			    	$('<option>').html(provice.provice_name).val(provice.provice_id).appendTo($('#provice'));

			    	// $('#provice').next('select').fadeOut("slow");

				});


			   $('#provice').nextAll('select').hide();//隐藏没有数据的select，
		

			},
			error:function(error){//错误处理

				console.log(error);

				throw new Error('请求错误');//请求失败 抛出错误，并打印信息
			}
		});

			
		//为select添加change事件  option改变时触发第二次ajax请求
		$('#provice,#city,#county,#town').change(function(){


			//获得触发改变的select和option的数据，处理拼接数据，组成键值对，以便于作为ajax的请求参数
			var tabObj = {//处理要请求表名

				provice:'j_position_city',

				city:'j_position_county',

				county:'j_position_town',

				town:'j_position_village'

			}

			var key 		= this.name;//取得select中name值

			var tableName 	= tabObj[key];//拼接表名字符串

			key 			+= '_id';

			var val 		= this.value;//取得select中的value值

			var that		= $(this);//保存当前的触发对象，以便于下面使用

			var nameKey		= that.next('select')[0].name+'_name';//拼接键名 provice_id、city_id、county_id、town_id或village_id

			var idKey		= that.next('select')[0].name+'_id';//拼接对应的键值，组成键值对 	
			
	
		
			$.ajax({
			 url: URI,//传入地址
			 type:"POST",//POST请求
			 async:true,
			 data:{'key':key,'val':val,'tableName':tableName},//传入请求参数 id键值对 确定对应的省市下的下级行政区划数据 传入表名，根据当前的select中的值确定要请求的表名
			 dataType:"json",//指定json格式
			 success: function(data){

			 	isSelected();//删除默认的option

			 	that.nextAll('select').stop();

			 	that.nextAll('select').empty().fadeOut("slow");//创建遍历前的动画 在遍历前隐藏当前select后的所有select

			    $.each(data, function(idx, obj){//数据遍历
			    	// console.log(obj);
			    	$('<option>').html(obj[nameKey]).val(obj[idKey]).appendTo(that.next('select'));//用拼接完成的键取得数据，创建option并加入对应的select集合
			    	that.nextAll('select').fadeIn('slow');//创建动画
			    	
				});


				that.next('select').trigger('change');//模拟触发

			 	hidden();//完成数据填充和option创建后，开始对所有的select进行检查，如有无数据的select则进行隐藏

			},
			error:function(error){//错误处理

				console.log(error);
				throw new Error('请求错误');
			}
		});


		})
	

	 function isSelected(){//封装函数 请求开始后删除 option（请选择省份）

	 		if (!option.selected) {

	 			$(option).remove();
	 		};
	}


		function hidden(){//封装函数 判断select下有无option，无则隐藏

	 	    $.each($('select'),function(idx,obj){

			if (obj.children.length<1) {

				$(obj).fadeOut("slow");//创建隐藏动画
			
			}
	
		})

		}
}
		
	



